package com.songlanyun.modules.goods.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.songlanyun.modules.goods.entity.Goods;
import com.songlanyun.modules.goods.entity.GoodsAuthShop;
import com.songlanyun.modules.goods.model.dto.GoodsStatusDTO;

/**
 * 商家所发商品的与店铺的授权关系表，平台店铺发的商品如A,平台会有一条店铺与商品的关系，商家店铺SS也要代销平台商品，则需要建立一条商品A也商品店铺SS的关系，店铺SS可以随时上下架这个平台商品
 *
 * @author lubo
 * @email sunlightcs@gmail.com
 * @date 2020-11-05 10:01:59
 */
public interface GoodsAuthShopService extends IService<GoodsAuthShop> {

    GoodsAuthShop add(Long shopId, Goods goods);

    /**
     * 查询商品某个店铺的经营权限
     * @param shopId
     * @param goodsId
     * @return
     */
    GoodsAuthShop getAuthorizeInfo(Long shopId, Long goodsId);

    /**
     * 查询某个商品店直营权限
     * @param goodsId
     * @return
     */
    GoodsAuthShop getDirectSaleAuthorizeInfo(Long  goodsId);

    /**
     *  为商品授予某个店铺，经营权限
     * @param shopId
     * @param goodsId
     */
    void auth(Long shopId, Long goodsId);

    /**
     *  取消商品的某个店铺的经营权限
     * @param shopId
     * @param goodsId
     */
    void cancelAuth(Long shopId, Long goodsId);

    /**
     * 上下架
     * @param shopId
     * @param dto
     */
    void added(Long shopId, GoodsStatusDTO dto);

    void removeCommonShopAuth(Long shopId,Long goodsId);
}

